package ink.onei.user.mapper;

import ink.onei.common.core.domain.entity.Seller;
import ink.onei.shopping.domain.Goods;

import java.util.List;

/**
 * 商家Mapper接口
 *
 * @author nekotako
 * @date 2024-01-27
 */
public interface SellerMapper {
    /**
     * 查询商家
     *
     * @param sellerId 商家主键
     * @return 商家
     */
    Seller selectSellerById(Long sellerId);

    /**
     * 查询商家列表
     *
     * @param seller 商家
     * @return 商家集合
     */
    List<Seller> selectSellerList(Seller seller);

    /**
     * 新增商家
     *
     * @param seller 商家
     * @return 结果
     */
    int insertSeller(Seller seller);

    /**
     * 修改商家
     *
     * @param seller 商家
     * @return 结果
     */
    int updateSeller(Seller seller);

    /**
     * 删除商家
     *
     * @param sellerId 商家主键
     * @return 结果
     */
    int deleteSellerById(Long sellerId);

    /**
     * 批量删除商家
     *
     * @param sellerIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteSellerByIds(Long[] sellerIds);

    Seller getSellerDetail(Seller seller);

    /**
     * 批量删除商品
     *
     * @param sellerIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteGoodsBySellerIds(Long[] sellerIds);

    /**
     * 批量新增商品
     *
     * @param goodsList 商品列表
     * @return 结果
     */
    int batchGoods(List<Goods> goodsList);

    /**
     * 通过商家主键删除商品信息
     *
     * @param sellerId 商家ID
     * @return 结果
     */
    int deleteGoodsBySellerId(Long sellerId);
}
